#include <math.h>
#include <stdio.h>
#include <stdlib.h>

#include <fstream> //for ifstream -> file input
#include <iostream> 
#include <sstream> //for stringstream
#include <string>
#include <deque>

#include <cv.h>

#define PI 3.14159

class CalcCamParameter {
public:
	typedef struct CamParameter {
		std::string filename;
		float lattitude;
		float longitude;
		float alt;
		float heading;
		float drift;
		float roll;
		float pitch;
	} CamParameter;

public:
	CalcCamParameter::CalcCamParameter();
	CalcCamParameter::~CalcCamParameter();


public: 
	static void calculate(std::string inputFileName);
	static void writeToFile();

private:
	static void calcT(int pos, std::stringstream &data);
	static void calcXYZ(int pos, std::stringstream &data);
	static void getFocalLength(int picType);
	static void convertLatLonToUTM(const double Lat, const double Long, 
						double &UTMNorthing, double &UTMEasting);
};